﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Farmacia.Entities;
using Farmacia.DataAccess;
using Microsoft.Practices.Unity;

namespace Farmacia.BussinessLogic
{
    public class ProductoBL:iProductoBL 
    {
        [Dependency]
        public iProductoDAO ProductoDAO { get; set; }


        public List<Producto> GetAllFromProducto()
        {
            return ProductoDAO.GetAllFromPrudcto();
        }

      /*  public List<Producto> GetFromProductoByProveedor(string Proveedor)
        {
            return ProductoDAO.GetFromProductoByProveedor(Proveedor);
        }

        public void RegistrarProducto(Producto producto)
        {
            ProductoDAO.RegistrarProducto(producto);
        }

        public void DeleteProducto(int id)
        {
            ProductoDAO.DeleteProducto(id);
        }

        public List<Producto> GetFromProductoByCodigo(string Codigo)
        {

            return ProductoDAO.GetFromProductoByCodigo(Codigo);
        }
        */

        /*

        public List<Producto> GetFromProductoByNombreAndProveedor(string Criterio, int Proveedor)
        {
            return ProductoDAO.GetFromProductoByNombreAndProveedor(Criterio, Proveedor);
        }


        public List<Entities.Almacen.Producto.ProdStockbyAlmacen> GetFromProdStockbyIdProductoStockTotal(int IdProducto)
        {
            return ProductoDAO.GetFromProdStockbyIdProductoStockTotal(IdProducto);
        }*/


      /*  public List<Producto> GetFromProductoByProveedor(string Proveedor)
        {
            throw new NotImplementedException();
        }

        public List<Producto> GetFromProductoByCodigo(string Codigo)
        {
            throw new NotImplementedException();
        }

        public List<Producto> GetFromProductoByNombreAndProveedor(string Criterio, int Proveedor)
        {
            throw new NotImplementedException();
        }

        public List<Entities.Almacen.Producto.ProdStockbyAlmacen> GetFromProdStockbyIdProductoStockTotal(int IdProducto)
        {
            throw new NotImplementedException();
        }
        */


        public void RegistrarProducto(Producto producto)
        {
            throw new NotImplementedException();
        }

        public void DeleteProducto(int id)
        {
            throw new NotImplementedException();
        }


        public List<Producto> GetFromProdbyCriterioAndLaboratorioANDPrincipioActivoANDGrupoFarmacologicoANDPROVEEDOR(string Criterio, string Laboratorio, string PrincAct, string GrupFarm, string Proveedor)
        {
            return ProductoDAO.GetFromProdbyCriterioAndLaboratorioANDPrincipioActivoANDGrupoFarmacologicoANDPROVEEDOR(Criterio, Laboratorio, PrincAct, GrupFarm, Proveedor);
        }


        public List<Producto> GetAllFromProductoDTObyCodigo(int IdProducto)
        {
            return ProductoDAO.GetAllFromProductoDTObyCodigo(IdProducto);
        }





        public Producto GetAllFromProductobyId(int IdProducto)
        {
            return ProductoDAO.GetFromProductoDTObyCodigo(IdProducto);
        }


        public List<Entities.Almacen.Producto.ProdStockbyAlmacen> GetFromProdAlmacenadoStockTotalbyIdProducto(int IdProducto)
        {
            return ProductoDAO.GetFromProdAlmacenadoStockTotalbyIdProducto(IdProducto);
        }



        public List<Entities.Almacen.Producto.StockporAlmacen> GetProdStockbyAlmacen(int IdAlmcen, int IdProducto)
        {
            return ProductoDAO.GetProdStockbyAlmacen(IdAlmcen, IdProducto);
        }


        public Entities.Almacen.Producto.Produc GetAllFromProductobyCodigo(int IdProducto)
        {
            return ProductoDAO.GetAllFromProductobyCodigo(IdProducto);
        }
    }
}
